package Prueba;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;


import Capa_Datos.CD_Alumno;
import Capa_Datos.CD_Laboratorio;
import Capa_Datos.CD_Persona;
import Capa_Datos.CD_Software;
import Capa_Datos.CD_Unidad;
import Capa_Datos.CD_Usuario;


public class Impl_Persona implements Cntr_Persona{
	EntityManagerFactory emf;
	EntityManager em;
	
	public Impl_Persona(){
		emf=Persistence.createEntityManagerFactory("ProyLabo");
		em=emf.createEntityManager();
	}
	
	@Override
	public boolean validar(String user, String pass) {
		
		
		return false;
	}

	@Override
	public void nuevoAlumno() {
	/*  CD_Usuario u=new CD_Usuario();
	  u.setIdUsuario("09200110");
	  u.setContrasenia("melipop");*/

	  CD_Usuario u=new CD_Usuario();
	  u.setIdUsuario("09200042");
	  u.setContrasenia("tef");

	  
	/*  
      CD_Persona p=new CD_Persona();
      p.setNombre("melissa rodriguez");
      p.setUsuario(u);*/
      
      CD_Persona p=new CD_Persona();
      p.setIdPersona("09200042");
      p.setNombre("Carol Stefany");
      p.setUsuario(u);
      
   /*   CD_Alumno a=new CD_Alumno();
      a.setIdAlumno("09200110");
      a.setPersona(p);*/
      
      
      CD_Alumno a=new CD_Alumno();
      a.setIdAlumno("09200042");
      a.setPersona(p);

    
	try{     
	   em.getTransaction().begin();
	   em.persist(u);
	   em.persist(p);
	   em.flush();
	   //em.refresh(p);
	   em.persist(a);
	  
 
	   em.getTransaction().commit();
	}catch(Exception e){
		System.out.print("waa"+ e.getCause());
	}
	finally{
	//	em.close();
	}
	}

	@Override
	public void borrarAlumno() {
		// TODO Auto-generated method stub
		//CD_Alumno a=em.getReference(CD_Alumno.class, "09200110");
	
		try{     
			  /* em.getTransaction().begin();
			   em.remove(a);
			   em.getTransaction().commit();*/
			em.getTransaction().begin();
			Query q=em.createQuery("DELETE FROM CD_Alumno");
			q.executeUpdate();
			 em.getTransaction().commit();
			}catch(Exception e){	
				System.out.print("waa"+ e.getCause());	
			}
			finally{
				em.close();
			}
			
	}

	@Override
	public CD_Alumno buscarAlumno() {
		// TODO Auto-generated method stub
		Query consulta=em.createQuery("select a from CD_Alumno a,CD_Cuenta c where c.usuario='123456789'");
		
		CD_Alumno a=(CD_Alumno) consulta.getSingleResult();
		
		return a;
	}

	@Override
	public void nuevoLaboratorio() {
		// TODO Auto-generated method stub
	
		CD_Laboratorio lb=new CD_Laboratorio();
		lb.setIdLaboratorio(1);

		try{     
			   em.getTransaction().begin();
			   em.persist(lb);
			   em.flush();
			 
			  
			  
		 
			   em.getTransaction().commit();
			}catch(Exception e){
				System.out.print("waa"+ e.getCause());
			}
			finally{
			//	em.close();
			}
			
		
	}

	@Override
	public void nuevosw() {
		/*CD_Software s=new CD_Software();
		s.setNombre("SQL Server");
		s.setVersion("2008");*/
		
		CD_Software s=new CD_Software();
		s.setNombre("NetBeans");
		s.setVersion("7.0.2");
		
		try{     
			   em.getTransaction().begin();
			   em.persist(s);
			   em.flush();
			   em.getTransaction().commit();
			}catch(Exception e){
				System.out.print("waa"+ e.getCause());
			}
			finally{
			//	em.close();
			}
			
		
	}

}
